# src/processing/llm_processor.py
from src.core.interfaces import ILLMProcessor
from src.api.openai_api import OpenAIClient
from src.models.question_answering import generate_answer

class MoonshotProcessor(ILLMProcessor):
    """使用 Moonshot API 的 LLM 处理器。"""
    def __init__(self, client: OpenAIClient):
        self._client = client

    def process(self, question_text: str) -> str:
        """
        调用 generate_answer 函数处理单个问题。
        question_text 已经是 Markdown 格式的单个问题。
        """
        # generate_answer 内部会构建完整的 prompt
        answer = generate_answer(question_text, self._client)
        # 返回一个包含问题和答案的 Markdown section
        return f"{question_text}\n\n#### 回答\n\n{answer}"